﻿// 10076.  Roadblocks.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://loj.ac/p/10076

题目描述
原题来自：USACO 2006 Nov. Gold

贝茜把家搬到了一个小农场，但她常常回到 FJ 的农场去拜访她的朋友。贝茜很喜欢路边的风景，不想那么快地结束她的旅途，于是她每次回农场，都会选择第二短的路径，而不象我们所习惯的那样，选择最短路。

贝茜所在的乡村有 R(1 <= R <= 10^5) 条双向道路，每条路都连接了所有的 N(1 <= N <= 5000) 个农场中的某两个。贝茜居住在农场 1，她的朋友们居住在农场 N（即贝茜每次旅行的目的地）。

贝茜选择的第二短的路径中，可以包含任何一条在最短路中出现的道路，并且一条路可以重复走多次。当然第二短路的长度必须严格大于最短路（可能有多条）的长度，但它的长度必须不大于所有除最短路外的路径的长度。

一句话题意：给一张无向图，求这张图的严格次短路之长。

输入格式
输入文件的第 1 行为两个整数，N 和 R，用空格隔开；

第 2 \ldots R+1 行：每行包含三个用空格隔开的整数 A、B 和 D，表示存在一条长度为 D(1<= D <= 5000) 的路连接农场 A 和农场 B。

输出格式
输出仅一个整数，表示从农场 1 到农场 N 的第二短路的长度。

4 4
1 2 100
2 4 200
2 3 250
3 4 100

450

最短路：1 -> 2 -> 4（长度为 100+200=300） 第二短路：1 -> 2 -> 3 -> 4（长度为 100+250+100=450）
*/
int main()
{
    std::cout << "Hello World!\n";
}

 